/**
 * 全局服务
 *
 * @export
 * @class GlobalService
 */
export class GlobalService {

    /**
     * 获取数据服务
     * 
     * @param name 实体名称
     * @param context 应用上下文
     * memberof GlobalService
     */
    public async getService(name:string, context?: any){
        const targetService:any = await (this as any)[`get${name}Service`](context);
        await targetService.loaded(context);
        return targetService;
    }

    /**
     * 订单详细服务
     *
     * @param context 应用上下文
     * @return {ORDERDETAILS}
     * @memberof GlobalService
     */
    async getORDERDETAILSService(context?: any) {
        return (await import('./orderdetails/orderdetails.service')).default.getInstance(context);
    }
    /**
     * 订单服务
     *
     * @param context 应用上下文
     * @return {ORDER1}
     * @memberof GlobalService
     */
    async getORDER1Service(context?: any) {
        return (await import('./order1/order1.service')).default.getInstance(context);
    }
    /**
     * PC端地图实体服务
     *
     * @param context 应用上下文
     * @return {PCMAP}
     * @memberof GlobalService
     */
    async getPCMAPService(context?: any) {
        return (await import('./pcmap/pcmap.service')).default.getInstance(context);
    }
    /**
     * 销售平台服务
     *
     * @param context 应用上下文
     * @return {Saleplatform}
     * @memberof GlobalService
     */
    async getSaleplatformService(context?: any) {
        return (await import('./saleplatform/saleplatform.service')).default.getInstance(context);
    }
    /**
     * 图表实体服务
     *
     * @param context 应用上下文
     * @return {CHARTENTITY}
     * @memberof GlobalService
     */
    async getCHARTENTITYService(context?: any) {
        return (await import('./chartentity/chartentity.service')).default.getInstance(context);
    }
    /**
     * 客户服务
     *
     * @param context 应用上下文
     * @return {CUSTOMER}
     * @memberof GlobalService
     */
    async getCUSTOMERService(context?: any) {
        return (await import('./customer/customer.service')).default.getInstance(context);
    }
    /**
     * 动态实体服务
     *
     * @param context 应用上下文
     * @return {DynamicEntity}
     * @memberof GlobalService
     */
    async getDynamicEntityService(context?: any) {
        return (await import('./dynamic-entity/dynamic-entity.service')).default.getInstance(context);
    }
    /**
     * 主实体服务
     *
     * @param context 应用上下文
     * @return {MAJORENTITY}
     * @memberof GlobalService
     */
    async getMAJORENTITYService(context?: any) {
        return (await import('./majorentity/majorentity.service')).default.getInstance(context);
    }
    /**
     * 订单明细服务
     *
     * @param context 应用上下文
     * @return {ORDERDETAIL}
     * @memberof GlobalService
     */
    async getORDERDETAILService(context?: any) {
        return (await import('./orderdetail/orderdetail.service')).default.getInstance(context);
    }
}
